#pragma once

#include "RBTree.h"
namespace MySet {
	template<class K>
	class Set {
	public:
		struct Get {
			const K& operator()(const K& data) {
				return data;
			}
		};
		typedef typename RBTree<K, K, Get>::con_iterator iterator;

		pair<iterator,bool> Insert(const K& data) {
			pair<typename RBTree<K, K, Get>::iterator, bool> ret = _st.Insert(data);
			return pair<iterator,bool>(ret.first,ret.second);
		}
		iterator begin() const{
			return _st.begin();
		}
		iterator end() const{
			return _st.end();
		}
		RBTree<K, K, Get> _st;
	};
}
